package com.duan.boot.mapper;

import com.duan.boot.entity.Department;
import com.duan.boot.entity.User;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author duan
 */
@Repository
public interface DepMapper {
    /**
     * 更新部门的信息
     * @param department Department类型
     * @return true or false
     */
    boolean upDate(Department department);

    /**
     * 插入一个部门
     * @param department Department类型
     * @return true or false
     */
    boolean insert(Department department);

    /**
     * 通过id来删除用户
     * @param id 用户id
     * @return true or false
     */
    boolean delete(int id);

    /**
     * 查找所有用户
     * @return 类型位Department的集合
     */
    List<Department> selectAll();

    /**
     * 通过id查找部门
     * @param id 部门id
     * @return Department
     */
    Department getDepById(int id);

    /**
     * 通过name查找用户
     * @param name 用户name
     * @return 部门的所有信息
     */
    Department getDepByName(String name);

    /**
     * 通过用户查找部门
     *
     * @param depName@return 部门信息
     */
    Department getWithUser(String depName);

    /**
     * 添加一个用户
     * @param user 用户
     * @return true or false
     */
    boolean adduser(User user);

    /**
     * 部门名称来显示所有成员
     * @param name 部门名称
     * @return 所有用户的集合
     */
    List<User> showUser(String name);

    /**
     * 通过学号删除学生
     * @param id 学生学号
     * @return true or false
     */
    boolean removeUser(int id);

    /**
     * 修改用户的信息
     * @param user 用户
     * @return 0，1
     */
    int saveUser(User user);

    /**
     * 查询对应id的name
     * @param id 部门id
     * @return String类的部门name
     */
    String selectDepById(int id);
}
